[Script Pascal] Verificando quantos Caracteres por Segundo tem a legenda
Publicado por rafael farias novaes 26/01/2009
[ Hits: 7.359 ]
Homepage: http://www.vivaolinux.com.br/perfil/verPerfil.php?login=bfmano
Seguindo a linha de garimpagem do Pix, estou pesquisando na internet alguns scripts pascal que facilitam nossa vida.
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
// Made by Buzcatcher
program ShowCPS;
// ---------------------------------------------
const
cpsreport = 'C:\cps_report.txt';
CRLF = ''#13''#10;
Rsep = ' | ';
var
i, n, p : Integer;
duration, sublength, cps : Integer;
subtxt, report : String;
Ms : TmemoryStream;
begin
Ms := TmemoryStream.Create;
n := GetSubtitleCount-1;
for i := 0 to n do
begin
subtxt := GetSubtitleText(i);
sublength := length(subtxt);
p := pos(''#13''#10, subtxt);
if (p>0) then
sublength := sublength - 2;
duration := GetSubtitleFinalTime(i) - GetSubtitleInitialTime(i);
cps := round((sublength * 1000)/ duration);
report := IntToStr(i+1) + Rsep + IntToStr(sublength) + ' Characters' + Rsep + IntToStr(duration) + ' duration(ms)' + Rsep + '==> ' + IntToStr(cps) + ' Char/sec.'
if (cps > 25) then
report := report + Rsep + 'LEGENDA MUITO RAPIDA'
report := report + CRLF
Ms.Write(report, length(report));
try
Ms.SaveToFile(cpsreport);
except
MsgBox('Couldn''t write to file!', '&Ok', '', '', $20);
end;
end;
Ms.Free;
MsgBox('Report saved in C:\cps_report.txt', '&Ok', '', '', $20);
end.
Visualizador De Imagem feito no Lazarus (Delphi 7 para Linux)
ZCodEdit - Editor de textos com sintaxe HTML e Pascal
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Replicação SYSVOL no Samba 4 com Syncthing
Samba 4 com Replicação e LDAP Seguro (LDAPS/TLS)
Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina
Calculadoras online gratuitas para o dia a dia do usuário Linux
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 (6)
Governo da França vai trocar Windows por Linux (8)
Metafísica e espiritualidade funciona de verdade! Comprovação pessoal (12)









